In computer networking and telecommunications, Multiprotocol Label Switching (“MPLS”) is a data-carrying mechanism, which emulates some properties of a circuit-switched network over a packet-switched network. MPLS is often used to transport data packets such as those already in the form of Internet Protocol (“IP”). MPLS is an Internet Engineering Task Force initiative that integrates Layer 2 (i.e., the data link layer) information about network links (bandwidth, latency, utilization) into Layer 3 (i.e., the network layer) within a particular autonomous system in order to simplify and improve IP packet exchange. Thus, MPLS operates at an OSI Model layer that is generally considered to lie between traditional definitions of Layer 2 and Layer 3. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames. MPLS provides a number of powerful capabilities, such as traffic engineering, etc.
In MPLS, data transmission occurs on Label-Switch Paths (“LSPs”). LSPs are a sequence of labels at each and every node along the path from the source to the destination. Each data packet encapsulates and carries the labels during their journey from source to destination. High-speed switching of data is possible because the fixed-length labels are inserted at the very beginning of the packet or cell and can be used by hardware to switch packets quickly between links.
The Forwarding Equivalence Class (“FEC”) to which a packet is assigned is encoded as a short fixed length value known as a “label.” With MPLS, incoming packets are assigned with a label when the packets enter a MPLS network. When a packet is forwarded to its next hop, the label is sent along with it; that is, the packets are “labeled” before they are forwarded. At subsequent hops, there is no further analysis of the packet's network layer header. Rather, the label is used as an index into a table, which specifies the next hop, and a new label. The old label is replaced with the new label, and the packet is forwarded to its next hop. In the MPLS forwarding paradigm, once a packet is assigned to a FEC, subsequent routers do no further header analysis; the labels drive all forwarding. This has a number of advantages over conventional network layer forwarding.
Bidirectional Forwarding Detection (“BFD”) is a network protocol used to detect forwarding. It provides low-overhead detection of faults even on physical media that don't support failure detection of any kind, such as Ethernet, virtual circuits, tunnels, and MPLS LSPs. BFD establishes a session between two endpoints over one or more links.
One desirable application of BFD is to detect a MPLS LSP data plane failure. LSP-Ping is an existing mechanism for detecting MPLS data plane failures and for verifying the MPLS LSP data plane against the control plane. A combination of LSP-Ping and BFD can be used to provide faster data plane failure detection and/or make it possible to provide such detection on a greater number of LSPs.